博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【SpringMVC整合MyBatis】商品修改功能分析
阅读量:6480 次
发布时间:2019-06-23

本文共 5291 字,大约阅读时间需要 17 分钟。

结合之前我们搭建好的环境,我们下面来编写商品修改的功能。
商品修改功能开发
1.需求
操作流程:
(1)进入商品查询列表页面
(2)点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询)
要修改的商品从数据库查询,根据商品id(主键)查询商品信息
(3)在商品修改页面,修改商品信息,修改后,点击提交
2.开发mapper
mapper:
根据id查询商品信息
根据id更新Items表的数据
不用开发了,使用逆向工程生成的代码。
3.开发service
接口功能:
根据id查询商品信息
修改商品信息
接口ItemsService
package cn.edu.hpu.ssm.service;import java.util.List;import cn.edu.hpu.ssm.po.ItemsCustom;import cn.edu.hpu.ssm.po.ItemsQueryVo;//商品管理servicepublic interface ItemsService {	//商品查询列表	public List
findItemsList(ItemsQueryVo itemsQueryVo)throws Exception; //根据id查询商品信息 public ItemsCustom findItemsById(Integer id)throws Exception; //修改商品信息 public void updateItems(Integer id,ItemsCustom itemsCustom)throws Exception;}
接口的实现:
package cn.edu.hpu.ssm.service.impl;import java.util.List;import org.springframework.beans.BeanUtils;import org.springframework.beans.factory.annotation.Autowired;import cn.edu.hpu.ssm.mapper.ItemsMapper;import cn.edu.hpu.ssm.mapper.ItemsMapperCustom;import cn.edu.hpu.ssm.po.Items;import cn.edu.hpu.ssm.po.ItemsCustom;import cn.edu.hpu.ssm.po.ItemsQueryVo;import cn.edu.hpu.ssm.service.ItemsService;//商品管理public class ItemsServiceImpl implements ItemsService{	@Autowired	private ItemsMapperCustom itemsMapperCustom;		@Autowired	private ItemsMapper itemsMapper; 		@Override	public List
findItemsList(ItemsQueryVo itemsQueryVo) throws Exception { //通过ItemsMapperCustom查询数据库 return itemsMapperCustom.findItemsList(itemsQueryVo); } @Override public ItemsCustom findItemsById(Integer id) throws Exception { Items items=itemsMapper.selectByPrimaryKey(id); //中间对商品信息进行业务处理 //... //最终返回ItemsCustom ItemsCustom itemsCustom=new ItemsCustom(); //将item的内容拷贝到itemsCustom BeanUtils.copyProperties(items, itemsCustom); return itemsCustom; } @Override public void updateItems(Integer id, ItemsCustom itemsCustom) throws Exception { //添加业务校验,通常在Service接口对关键参数进行校验 //校验id是否为空,如果为空抛出异常 } }
4.开发controller
方法:
商品信息修改页面显示
商品信息修改提交
package cn.edu.hpu.ssm.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import cn.edu.hpu.ssm.po.ItemsCustom;import cn.edu.hpu.ssm.service.ItemsService;//商品的Controller@Controllerpublic class ItemsController {	@Autowired	private ItemsService itemsService;		//商品查询列表	//@RequestMapping实现 对queryItems方法和url进行映射,一个方法对应一个url	//一般建议将url和方法写成一样	@RequestMapping("/queryItems")	public ModelAndView queryItems()throws Exception{				//调用Service查找数据库,查询商品列表,这里使用静态数据模拟		List
itemsList=itemsService.findItemsList(null); //返回ModelAndView ModelAndView modelAndView=new ModelAndView(); //相当于request的setAttribut,在jsp页面中通过这个来取数据 modelAndView.addObject("itemsList",itemsList); //指定视图 //下边的路径,如果在视图解析器中配置jsp的路径前缀和后缀,修改为items/itemsList //modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp") //下边的路径配置就可以不在程序中指定jsp路径的前缀和后缀 modelAndView.setViewName("items/itemsList"); return modelAndView; } //商品信息修改页面显示 @RequestMapping("/editItems") public ModelAndView editItems()throws Exception{ //调用service根据商品id查询商品信息 ItemsCustom itemsCustom=itemsService.findItemsById(1); //返回ModelAndView ModelAndView modelAndView=new ModelAndView(); //将商品信息放到model modelAndView.addObject("itemsCustom",itemsCustom); //返回商品修改页面 modelAndView.setViewName("items/editItems"); return modelAndView; } //商品信息修改提交 @RequestMapping("/editItemsSubmit") public ModelAndView editItemsSubmit()throws Exception{ //调用service更新商品信息,页面需要将商品信息传到此方法 //......没有讲参数绑定,暂时先放在这 //返回ModelAndView ModelAndView modelAndView=new ModelAndView(); //返回一个成功页面 modelAndView.setViewName("success"); return modelAndView; } }
jsp文件夹下创建一个success.jsp界面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'success.jsp' starting page          操作成功! 
jsp/items文件夹下创建editItems.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>
修改商品信息
修改商品信息:
<%--
--%>
商品名称
商品价格
商品生产日期 "/>
商品图片
商品简介
回顾一下商品浏览界面:
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>
查询商品列表
查询条件:
商品列表:
商品名称 商品价格 生产日期 商品描述 操作
${item.name } ${item.price }
${item.detail } 修改
调试:

点击修改,如图

之后弹出界面如图点击修改之后页面

点击提交需要绑定数据,这个我们以后的总结中会讲。现在我们基本实现了Controller得到数据并进行页面的跳转。

转载请注明出处:

你可能感兴趣的文章
html页面字迹模糊,css3字体可以模糊吗?
查看>>
html数据渲染笔试题,面试题:js如何渲染十万条数据并不卡住界面
查看>>
html5页面怎么向上滑了,【h5页面如何制作】html5手机H5页如何使线比1像素更细?不翻页直接滑动翻页的h5是怎么制作的?关于H5页面的制作如何自己写代码?...
查看>>
番禺html5响应式网站,41个响应式HTML5免费网站模板
查看>>
NDK编译错误expected specifier-qualifier-list before...
查看>>
CentOS(5.8/6.4)linux生产环境若干优化实战
查看>>
iOS开发那些事--编写OCUnit测试方法-应用测试方法
查看>>
演示:带时间ACL的配置
查看>>
1.05.体验-Cisco UC-基本功能 v1.1(请-下载-附件(百度云盘)! 有惊喜!)
查看>>
Setting Up Flume High Availability
查看>>
Java 8中用java.time.LocalDate全面代替老旧的Date,Calendar类
查看>>
cmd命令大全 新手入门
查看>>
ESXi 的Guest OS 如何从LUN上释放空间
查看>>
使用duplicate创建dataguard
查看>>
LVS+Keepalived相关参考资料
查看>>
Docker容器管理之Kubernetes
查看>>
Redis 3.0.1 安装和配置
查看>>
hadoop的一些配置结果截图
查看>>
产品经理利器之axure rp
查看>>
RedHat 6 配置iSCSI服务
查看>>